chore(ci): skip packages with unsupported pre-release deps in import profiler - #18033
Conversation
There was a problem hiding this comment.
Code Review
This pull request modifies ci/run_single_test.sh to gracefully handle pre-release Python versions (such as Python 3.15) by skipping unsupported packages and handling installation failures during import_profile tests. However, the feedback highlights critical issues where these skips and fallbacks are applied unconditionally across all Python versions, which would silently ignore genuine installation failures on stable Python environments. The reviewer recommends restricting these workarounds specifically to pre-release Python versions and adding detailed logging for successful runs.
| elif [[ "${PY_VERSION}" != "3.15"* ]]; then | ||
| exit 1 | ||
| fi |
There was a problem hiding this comment.
non-blocking: exit 1 runs inside a subshell (...), so it will only exit the child process rather than failing the outer script if baseline pip install fails on non-3.15 Python versions (due to set +e).
Consider checking the subshell exit status in the parent shell or restructuring to if ! ( ... ); then exit 1; fi to ensure baseline build failures properly fail CI.
Skip packages with heavy native/scientific dependencies (bigframes, pandas-gbq,
google-cloud-documentai-toolbox, db-dtypes, bigquery-magics) that fail to build
on Python 3.15 due to missing pre-built wheels.
Test PR: #18034
Fixes: b/535231604